/*
 * 2_文件修改操作.c
 * 文件操作
 */


#include <stdio.h>

int main(void)
{
	FILE* f=fopen("manage.txt","r+"); 
	// 刚刚进入时，文件读写位置指针为空，操作会有段错误。
	if(f->_IO_read_ptr)printf("\tread_ptr:%p\n",(f->_IO_read_ptr));else printf("not set!\n");
	if(f->_IO_write_ptr)printf("\twrite_ptr:%p\n",(f->_IO_write_ptr));else printf("not set!\n");
	if(f)printf("\tf_ptr:%p\n",f);else printf("not set!\n");
	//一旦使用fget等函数开始读取时，_IO_read_ptr才有值
	putc(fgetc(f),stdout);
	
	while(*(f->_IO_read_ptr)>0)
	//通过指针无法读到第一个字符
	//可以操控读取指针前进后退
		putc(*(f->_IO_read_ptr++),stdout);
	
	
	/*文件结构指针不会改变*/
	if(f)printf("\tf_ptr:%p\n",f);else printf("not set!\n");
	fclose(f);
}

